package mylab.starters.eventbus.config;


import lombok.Getter;
import mylab.starters.eventbus.config.disruptor.DisruptorProperties;
import mylab.starters.eventbus.config.guava.GuavaProperties;
import mylab.starters.eventbus.config.mq.MqProperties;
import mylab.starters.eventbus.config.spring.SpringProperties;
import mylab.utils.spring.constants.PropertyConst;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;


@Getter
@ConfigurationProperties(prefix = EventBusProperties.PREFIX)
public class EventBusProperties {
    public static final String PREFIX = PropertyConst.PROPERTIES_PREFIX + ".eventbus";

    @NestedConfigurationProperty
    private DisruptorProperties disruptor = new DisruptorProperties();
    @NestedConfigurationProperty
    private GuavaProperties guava = new GuavaProperties();
    @NestedConfigurationProperty
    private MqProperties mq = new MqProperties();
    @NestedConfigurationProperty
    private SpringProperties spring = new SpringProperties();
}


